package com.alongstudio.account.dao.base;

import java.util.List;

public interface IBaseDao<T> {

	public void create(T entity);

	/**
	 * 局部更新
	 * 
	 * @param entity
	 */
	public void update(T entity);

	/**
	 * 覆盖性更新
	 * 
	 * @param entity
	 */
	public void updateEx(T entity);

	public void delete(T entity);

	public void deleteII(List<T> entities);

	public void deleteByPk(Class c, Object pk);

	/**
	 * 根据id批量删除对象
	 * 
	 * @param c
	 * @param PK
	 */
	public void deleteByPkII(Class c, List<Object> PK);

	public Object queryByPk(Class c, Object pk);

	public T queryById(Class<T> t, String id);

	// public List queryByPkII(Class c, List pk);

	void batchCreate(List<T> results);

	void batchUpdate(List<T> entities);

	void batchExUpdate(List<T> entities);

}
